home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / asm / TBSource.lha / SimCC / SimCCheat.S < prev    next >
Text File  |  1993-07-02  |  26KB  |  1,285 lines

  1. ***********************************************
  2. *                                             *
  3. *              (C)opyright 1991-92            *
  4. *                                             *
  5. *             by  Tomi Blinnikka              *
  6. *                                             *
  7. *             SimCity 1.1  Cheat              *
  8. *                                             *
  9. * Version 0.00a - 0.99a  18/4/1991            *
  10. *                                             *
  11. * BUGS: Didn't work through DOS               *
  12. *                                             *
  13. * Version 1.00  19/4/1991                     *
  14. *                                             *
  15. * BUGS: No WB Stuff + some font stuff         *
  16. *                                             *
  17. * Version 1.01  26-27/4/1991                  *
  18. *                                             *
  19. * BUGS: No font stuff + WB Stuff didn't work  *
  20. *       from directories                      *
  21. *                                             *
  22. * Version 1.02  27-29/4/1991                  *
  23. *                                             *
  24. * BUGS: Doesn't work with CShell          *
  25. *                                             *
  26. * Version 1.03  30/4/1991              *
  27. *                                             *
  28. * BUGS: Still little problems with CShell     *
  29. *                                             *
  30. * Version 1.04  01/5/1991              *
  31. *                                             *
  32. * BUGS: Unknown                      *
  33. *                                             *
  34. * Version 1.05  02/5/1991              *
  35. *                                             *
  36. * BUGS: Unknown                      *
  37. *                                             *
  38. * Version 1.06  18/5/1991              *
  39. *                                             *
  40. * BUGS: No PoC DOS support              *
  41. *       No PoC 2,3,4 player support           *
  42. *                                             *
  43. * Version 1.07  27/5/1991              *
  44. *                                             *
  45. * BUGS: No PoC/OilImp/Oil Imperium DOS sup-   *
  46. *    port                      *
  47. *       No PoC 2, 3, 4 player support         *
  48. *                                             *
  49. ***********************************************
  50.  
  51.     INCLUDE    "JMPLibs.i"
  52.     INCLUDE    "exec/types.i"
  53.     INCLUDE    "libraries/dos.i"
  54.     INCLUDE    "libraries/reqbase.i"
  55.     INCLUDE "workbench/startup.i"
  56.     INCLUDE    "intuition/intuition.i"
  57.  
  58.     INCLUDE    "XREF:dos.xref"
  59.     INCLUDE    "XREF:intuition.xref"
  60.     INCLUDE    "XREF:exec.xref"
  61.     INCLUDE    "XREF:gfx.xref"
  62.  
  63.     INCLUDE    "LWF:SimCC/SimCC2.0.i"
  64.  
  65. DReq:    set    1
  66.  
  67.     XREF    Help
  68.     XREF    HWin1
  69.  
  70.     XDEF    _IntuitionBase
  71.     XDEF    _GfxBase
  72.     XDEF    MenusOff
  73.     XDEF    MenusOn
  74.     XDEF    Kick
  75.     XDEF    YOffset
  76.     XDEF    Topaz
  77.     XDEF    NoWin
  78.     XDEF    CheckIDCMP
  79.     XDEF    ClearMSGs
  80.     XDEF    Window1IDCMP
  81.     XDEF    wd_RPort
  82.  
  83.         section    SimCityCheat,CODE
  84.  
  85. Start:        move.l    a0,SCCAddress        ;Get SimCity filename
  86.         move.l    d0,SCCLength        ;Get length
  87.  
  88.         move.l    #0,a1
  89.         lib    Exec,FindTask
  90.         move.l    d0,SCCTask
  91.         move.l    d0,a4
  92.  
  93.         move.l    pr_CLI(a4),d0
  94.         bne    Start1
  95.         bsr    WBStart
  96.  
  97. Start1:        openlib    Dos,ShutDown
  98.  
  99.         lib    Dos,Output
  100.         move.l    d0,_stdout
  101.  
  102.         move.l    pr_CLI(a4),d0
  103.         beq    WBInput
  104.  
  105. ;CLI Inputs
  106.  
  107.         move.l    SCCAddress(pc),a0
  108.         move.l    SCCLength(pc),d0
  109.         clr.b    -1(a0,d0.l)        ;add null to end of filename
  110.  
  111.         cmp.b    #160,(a0)
  112.         beq    StartMain
  113.         cmp.b    #$0a,(a0)
  114.         beq    StartMain
  115.         cmp.b    #$0d,(a0)
  116.         beq    StartMain
  117.         tst.b    (a0)
  118.         bne    GotFileName
  119.         jmp    StartMain
  120.  
  121. WBStart:    lea.l    pr_MsgPort(a4),a0
  122.         lib    Exec,WaitPort
  123.         lea.l    pr_MsgPort(a4),a0
  124.         flib    Exec,GetMsg
  125.         move.l    d0,WBMsg
  126. WBStart1:    rts
  127.  
  128. GotFileName:    move.w    #1,Mode
  129.         cmp.b    #"?",(a0)
  130.         beq    CommandLineHelp
  131.         lea.l    FRFile(pc),a1
  132.         bsr    CopyText
  133.         tst.l    d0
  134.         bne    ShutDown
  135.         lea.l    FRFile(pc),a0
  136.         move.l    a0,d1
  137.         move.l    #MODE_OLDFILE,d2
  138.         lib    Dos,Open
  139.         move.l    d0,SCCFile
  140.         bne    DOSCheat
  141.         bsr    SCCNotOpen
  142.         bra    ShutDown
  143.  
  144. ;Copies filename from one place to another
  145. ;Handles CShell and quotes
  146. ;
  147. ;INPUTS
  148. ;------
  149. ;a0 = Source
  150. ;a1 = Destination
  151. ;
  152. ;RETURNS
  153. ;-------
  154. ;d0 = #$00 if everything OK
  155. ;d0 = #$ff if need to goto ShutDown
  156. ;
  157. ;DEFAULTS
  158. ;--------
  159. ;a0 = SCCAddress from DOS
  160. ;a1 = FRFile     from DOS
  161. ;
  162.  
  163. CopyText:    cmp.b    #'"',(a0)
  164.         beq    Quotes
  165. CopyTText:    move.b    (a0)+,(a1)+
  166.         cmp.b    #'"',(a0)
  167.         beq    Quotes
  168.         cmp.b    #$20,(a0)
  169.         beq    CopyTText1
  170.         cmp.b    #160,(a0)
  171.         beq    CopyTText1
  172.         cmp.b    #$0a,(a0)
  173.         beq    CopyTText1
  174.         cmp.b    #$0d,(a0)
  175.         beq    CopyTText1
  176.         cmp.b    #$00,(a0)
  177.         bne    CopyTText
  178. CopyTText1:    clr.b    (a1)
  179.         clr.l    d0
  180.         rts
  181. Quotes:        add.l    #1,a0
  182. Quotes1:    move.b    (a0)+,(a1)+
  183.         cmp.b    #$00,(a0)
  184.         beq    MismatchQuotes
  185.         cmp.b    #160,(a0)
  186.         beq    MismatchQuotes
  187.         cmp.b    #$0a,(a0)
  188.         beq    MismatchQuotes
  189.         cmp.b    #$0d,(a0)
  190.         beq    MismatchQuotes
  191.         cmp.b    #'"',(a0)
  192.         bne    Quotes1
  193. Quotes2:    clr.b    (a1)
  194.         clr.l    d0
  195.         rts
  196. MismatchQuotes:    print    <"***Break",13,10,"Mismatched quotes",13,10>
  197.         move.l    #$ff,d0
  198.         rts
  199.  
  200. ;WB Inputs, start with opening NIL:
  201.  
  202. WBInput:    lea.l    NILName(pc),a0
  203.         move.l    a0,d1
  204.         move.l    #MODE_NEWFILE,d2
  205.         lib    Dos,Open
  206.         move.l    d0,NILFile
  207.         beq    ShutDown
  208.         move.l    NILFile(pc),_stdout
  209.  
  210.         move.l    #$00,d1
  211.         flib    Dos,CurrentDir
  212.         move.l    d0,OldLock
  213.         move.l    WBMsg(pc),a2
  214.         move.l    sm_NumArgs(a2),ArgsLeft
  215.         move.l    sm_ArgList(a2),ArgList
  216.  
  217. WBInputIn:    sub.l    #1,ArgsLeft
  218.         add.l    #8,ArgList
  219.         cmp.l    #$00,ArgsLeft
  220.         beq    WBInputOut
  221.  
  222. WBInput1:    move.l    ArgList(pc),a0
  223.         move.l    wa_Name(a0),d1
  224.         move.l    d1,a1
  225.         tst.b    (a1)
  226.         bne    WBInput2
  227. WBInput1.1:    move.l    ArgList(pc),a0
  228.         move.l    wa_Lock(a0),d1
  229.         beq    WBInputIn
  230.         lib    Dos,CurrentDir
  231.         move.l    #$00,FRDir
  232.         bra    WBInputIn
  233.  
  234. WBInput2:    move.l    d1,a0
  235.         lea.l    FRFile(pc),a1
  236. WBInput2.1:    move.b    (a0)+,(a1)+
  237.         cmp.b    #$00,(a0)
  238.         bne    WBInput2.1
  239.         clr.b    (a1)
  240.         bra    WBInput1.1
  241.  
  242. WBInputOut:    move.l    FRDir(pc),a0
  243.         lea.l    FRPathName(pc),a1
  244.         cmp.b    #$00,(a0)
  245.         beq    WBInputOut1.1
  246. WBInputOut1:    move.b    (a0)+,(a1)+
  247.         cmp.b    #$00,(a0)
  248.         bne    WBInputOut1
  249. WBInputOut1.1:    lea.l    FRFile(pc),a0
  250. WBInputOut2:    move.b    (a0)+,(a1)+
  251.         cmp.b    #$00,(a0)
  252.         bne    WBInputOut2
  253.         clr.b    (a1)
  254.  
  255. StartMain:    move.w    #0,Mode
  256.         moveq.l    #2,d0
  257.  
  258.         move.l    #2,d0
  259.         move.l    $4,a6
  260.         lea.l    _ReqLib,a1
  261.         jsr    _LVOOpenLibrary(a6)
  262.         move.l    d0,_ReqBase
  263.         beq    NoReq
  264.         openlib    Intuition,NoInt
  265.         openlib    Gfx,NoGfx
  266.  
  267. ;test for 2.0
  268.  
  269.         move.l    _IntuitionBase(pc),a6
  270.         move.w    $14(a6),d0
  271.         cmp.w    #36,d0
  272.         bcs    StartWin1
  273.  
  274. ;under 2.0
  275.         move.w    #$01,Kick
  276.         move.l    #$00,a0
  277.         flib    Intuition,LockPubScreen
  278.         move.l    d0,PubScreen
  279.         beq    NoPub
  280.  
  281. ;Get DragBar size
  282.  
  283.         move.w    #40,Win1YSize
  284.         move.l    d0,a0
  285.         move.b    $1e(a0),d0
  286.         add.b    #1,d0
  287.         move.w    #$00,Win1ZoomY
  288.         move.b    d0,Win1ZoomY+1
  289.         add.b    d0,Gad1YPos+1
  290.         move.b    d0,YOffset
  291.  
  292. ;use new OpenWindow (OpenWindowTagList)
  293.  
  294.         lea.l    NewWindow1(pc),a0
  295.         lea.l    Win1TagList(pc),a1
  296.         flib    Intuition,OpenWindowTagList
  297.         move.l    d0,Window1
  298.         beq    NoWin
  299.         move.l    #$00,a0
  300.         move.l    PubScreen(pc),a1
  301.         flib    Intuition,UnlockPubScreen
  302.         move.l    #$00,PubScreen
  303.         bra    AddMenu1
  304.  
  305. ;under 1.3
  306.  
  307. StartWin1:    move.w    #$00,Kick
  308.         add.w    #10,Gad1YPos
  309.         lea.l    NewWindow1(pc),a0
  310.         lib    Intuition,OpenWindow
  311.         move.l    d0,Window1
  312.         beq    NoWin
  313.  
  314. ;Add Menus to Window1
  315.  
  316. AddMenu1:    move.l    Window1(pc),a0
  317.         move.l    wd_RPort(a0),Win1RP
  318.         lea.l    Menu1(pc),a1
  319.         flib    Intuition,SetMenuStrip
  320.  
  321. ;Add gadget
  322.  
  323.         lea.l    AmountGad1(pc),a1
  324.         move.l    Window1(pc),a0
  325.         move.l    #$00,d0
  326.         flib    Intuition,AddGadget
  327.  
  328. ;Refresh gad list
  329.  
  330.         lea.l    AmountGad1(pc),a0
  331.         move.l    Window1(pc),a1
  332.         move.l    #$00,a2
  333.         flib    Intuition,RefreshGadgets
  334.  
  335. ;Activate string gad
  336.  
  337.         lea.l    AmountGad1(pc),a0
  338.         move.l    Window1(pc),a1
  339.         move.l    #$00,a2
  340.         flib    Intuition,ActivateGadget
  341.  
  342. Window1IDCMP:    move.l    Window1(pc),a0
  343.         bsr    CheckIDCMP
  344.         cmp.l    #CLOSEWINDOW,d2
  345.         beq    ShutDown
  346.         cmp.l    #VANILLAKEY,d2
  347.         beq    VanillaKeys
  348.         cmp.l    #RAWKEY,d2
  349.         beq    RawKeys
  350.         cmp.l    #MENUPICK,d2
  351.         beq    Win1Menus
  352.         cmp.l    #MOUSEBUTTONS,d2
  353.         beq    ActivateGad
  354.         bra    Window1IDCMP
  355.  
  356. VanillaKeys:    cmp.w    #$1b,d3
  357.         beq    ShutDown
  358.         cmp.w    #"q",d3
  359.         beq    ShutDown
  360.         cmp.w    #"Q",d3
  361.         beq    ShutDown
  362.         bra    Window1IDCMP
  363. RawKeys:    cmp.w    #$5f,d3
  364.         beq    Help
  365.         bra    Window1IDCMP
  366.  
  367. ActivateGad:    cmp.l    #IECODE_LBUTTON,d3
  368.         bne    ActivateGadOut
  369. ActivateGad1:    lea.l    AmountGad1(pc),a0
  370.         move.l    Window1(pc),a1
  371.         move.l    #$00,a2
  372.         lib    Intuition,ActivateGadget
  373. ActivateGadOut:    bra    Window1IDCMP
  374.  
  375. Win1Menus:    bsr    MenuNull
  376.         cmp.l    #$00,d6
  377.         beq    DoMenu1
  378.         cmp.l    #$01,d6
  379.         beq    DoMenu2
  380.         bra    Window1IDCMP
  381. DoMenu1:    cmp.l    #$00,d5
  382.         beq    GetN
  383.         cmp.l    #$01,d5
  384.         beq    Help
  385.         cmp.l    #$02,d5
  386.         beq    About
  387.         cmp.l    #$03,d5
  388.         beq    ShutDown
  389.         bra    Window1IDCMP
  390. DoMenu2:    cmp.l    #$00,d5
  391.         beq    DM2.1
  392.         bra    Window1IDCMP
  393. DM2.1:        cmp.l    #$00,d4
  394.         beq    DM2.1.1
  395.         cmp.l    #$01,d4
  396.         beq    DM2.1.2
  397.         cmp.l    #$02,d4
  398.         beq    DM2.1.3
  399.         cmp.l    #$03,d4
  400.         beq    DM2.1.4
  401.         cmp.l    #$04,d4
  402.         beq    DM2.1.5
  403.         cmp.l    #$05,d4
  404.         beq    DM2.1.6
  405.         cmp.l    #$06,d4
  406.         beq    DM2.1.7
  407.         cmp.l    #$07,d4
  408.         beq    DM2.1.8
  409.         cmp.l    #$08,d4
  410.         beq    DM2.1.9
  411.         cmp.l    #$09,d4
  412.         beq    DM2.1.10
  413.         bra    Window1IDCMP
  414. DM2.1.1:    move.w    #$00,Game
  415.         bra    SimAmount1
  416. DM2.1.2:    move.w    #$01,Game
  417.         bra    PoCAmount1
  418. DM2.1.3:    move.w    #$02,Game
  419.         bra    PoCAmount1
  420. DM2.1.4:    move.w    #$03,Game
  421.         bra    PoCAmount1
  422. DM2.1.5:    move.w    #$04,Game
  423.         bra    PoCAmount1
  424. DM2.1.6:    move.w    #$05,Game
  425.         bra    OilAmount1
  426. DM2.1.7:    move.w    #$06,Game
  427.         bra    OilAmount1
  428. DM2.1.8:    move.w    #$07,Game
  429.         bra    OilAmount1
  430. DM2.1.9:    move.w    #$08,Game
  431.         bra    OilAmount1
  432. DM2.1.10:    move.w    #$09,Game
  433.         bra    RRTAmount1
  434.  
  435. GetN:        cmp.w    #$00,Game
  436.         beq    SimCheckAmount        ;SimCity
  437.         cmp.w    #$01,Game
  438.         beq    PoCCheckAmount        ;Ports of Call
  439.         cmp.w    #$02,Game
  440.         beq    PoCCheckAmount
  441.         cmp.w    #$03,Game
  442.         beq    PoCCheckAmount
  443.         cmp.w    #$04,Game
  444.         beq    PoCCheckAmount
  445.         cmp.w    #$05,Game
  446.         beq    OilCheckAmount        ;Oil Imperium
  447.         cmp.w    #$06,Game
  448.         beq    OilCheckAmount
  449.         cmp.w    #$07,Game
  450.         beq    OilCheckAmount
  451.         cmp.w    #$08,Game
  452.         beq    OilCheckAmount
  453.         cmp.w    #$09,Game
  454.         beq    RRTCheckAmount        ;RailRoad Tycoon
  455.         bra    Window1IDCMP
  456.  
  457. SimCheckAmount:    lea.l    GetSimName(pc),a5
  458.         cmp.l    #16777216,AmountInt
  459.         bcs    GetN0.1
  460.         move.l    Window1(pc),a0
  461.         move.l    $2e(a0),a0
  462.         lib    Intuition,DisplayBeep
  463. SimAmount1:    move.l    Window1(pc),a0
  464.         lea.l    WindowTitle1(pc),a1
  465.         move.l    #-1,a2
  466.         lib    Intuition,SetWindowTitles
  467.         move.l    Window1(pc),a0
  468.         lea.l    AmountGad1(pc),a1
  469.         lib    Intuition,RemoveGadget
  470.         move.l    #$31363737,AmountBuf
  471.         move.l    #$37323135,AmountBuf+4
  472.         move.w    #$0000,AmountBuf+8
  473.         move.l    #16777215,AmountInt
  474.         bsr    RefreshGad
  475.         tst.l    WBMsg
  476.         bne    SimAmount2
  477.         lea.l    SimDiskName(pc),a0
  478.         lea.l    FRDir(pc),a1
  479.         bsr    CopyText
  480.         lea.l    SimDiskName(pc),a0
  481.         lea.l    FRPathName(pc),a1
  482.         bsr    CopyText
  483. SimAmount2:    bra    ActivateGad1
  484.  
  485. PoCCheckAmount:    lea.l    GetPoCName(pc),a5
  486.         cmp.l    #$7fffff00,AmountInt
  487.         bcs    GetN0.1
  488.         move.l    Window1(pc),a0
  489.         move.l    $2e(a0),a0
  490.         lib    Intuition,DisplayBeep
  491. PoCAmount1:    move.l    Window1(pc),a0
  492.         lea.l    WindowTitle2(pc),a1
  493.         move.l    #-1,a2
  494.         lib    Intuition,SetWindowTitles
  495.         move.l    Window1(pc),a0
  496.         lea.l    AmountGad1(pc),a1
  497.         flib    Intuition,RemoveGadget
  498.         move.l    #$32313437,AmountBuf
  499.         move.l    #$34383333,AmountBuf+4
  500.         move.w    #$3931,AmountBuf+8
  501.         move.l    #$7ffffeff,AmountInt
  502.         bsr    RefreshGad
  503.         tst.l    WBMsg
  504.         bne    PoCAmount2
  505.         lea.l    PoCDiskName(pc),a0
  506.         lea.l    FRDir(pc),a1
  507.         bsr    CopyText
  508.         lea.l    PoCDiskName(pc),a0
  509.         lea.l    FRPathName(pc),a1
  510.         bsr    CopyText
  511. PoCAmount2:    bra    ActivateGad1
  512.  
  513. OilCheckAmount:    lea.l    GetOilName(pc),a5
  514.         cmp.l    #2147483648,AmountInt
  515.         bcs    GetN0.1
  516.         move.l    Window1(pc),a0
  517.         move.l    $2e(a0),a0
  518.         lib    Intuition,DisplayBeep
  519. OilAmount1:    move.l    Window1(pc),a0
  520.         lea.l    WindowTitle3(pc),a1
  521.         move.l    #-1,a2
  522.         lib    Intuition,SetWindowTitles
  523.         move.l    Window1(pc),a0
  524.         lea.l    AmountGad1(pc),a1
  525.         flib    Intuition,RemoveGadget
  526.         move.l    #$32313437,AmountBuf
  527.         move.l    #$34383336,AmountBuf+4
  528.         move.w    #$3437,AmountBuf+8
  529.         move.l    #$7fffffff,AmountInt
  530.         bsr    RefreshGad
  531.         tst.l    WBMsg
  532.         bne    OilAmount2
  533.         lea.l    OilDiskName(pc),a0
  534.         lea.l    FRDir(pc),a1
  535.         bsr    CopyText
  536.         lea.l    OilDiskName(pc),a0
  537.         lea.l    FRPathName(pc),a1
  538.         bsr    CopyText
  539. OilAmount2:    bra    ActivateGad1
  540.  
  541. RRTCheckAmount:    lea.l    GetRRTName(pc),a5
  542.         cmp.l    #32768,AmountInt    ;Max Amount+1
  543.         bcs    GetN0.1
  544.         cmp.b    #$2d,AmountBuf        ;Check for negative number
  545.         bne    RRTAmount0.1
  546.         cmp.l    #$FFFF8001,AmountInt
  547.         bcc    GetN0.1
  548. RRTAmount0.1:    move.l    Window1(pc),a0
  549.         move.l    $2e(a0),a0
  550.         lib    Intuition,DisplayBeep
  551. RRTAmount1:    move.l    Window1(pc),a0
  552.         lea.l    WindowTitle4(pc),a1
  553.         move.l    #-1,a2
  554.         lib    Intuition,SetWindowTitles
  555.         move.l    Window1(pc),a0
  556.         lea.l    AmountGad1(pc),a1
  557.         flib    Intuition,RemoveGadget
  558.         move.l    #$33323736,AmountBuf
  559.         move.w    #$3700,AmountBuf+4
  560.         move.l    #$7fff,AmountInt
  561.         bsr    RefreshGad
  562.         tst.l    WBMsg
  563.         bne    OilAmount2
  564.         lea.l    RRTDiskName(pc),a0
  565.         lea.l    FRDir(pc),a1
  566.         bsr    CopyText
  567.         lea.l    RRTDiskName(pc),a0
  568.         lea.l    FRPathName(pc),a1
  569.         bsr    CopyText
  570. RRTAmount2:    bra    ActivateGad1
  571.  
  572. GetN0.1:    bsr    MenusOff
  573.         move.l    #FRQABSOLUTEXYM+FRQLOADINGM,d5
  574.         bsr    FileRequester
  575.         tst.l    d0
  576.         beq    GetNOut
  577.  
  578.         lea.l    FRPathName(pc),a1
  579.         move.l    a1,d1
  580.         cmp.b    #$00,(a1)
  581.         beq    GetNOut
  582.         move.l    #MODE_OLDFILE,d2
  583.         lib    Dos,Open
  584.         move.l    d0,SCCFile
  585.         bne    GetN1
  586.         bsr    FileError
  587.         bra    GetNOut
  588.  
  589. GetN1:        bsr    MenusOff
  590.         move.l    Window1(pc),a0
  591.         lea.l    Cheat?Txt(pc),a1
  592.         lea.l    OKTxt(pc),a2
  593.         lea.l    CancelTxt(pc),a3
  594.         move.l    #$00,d0
  595.         move.l    #$00,d1
  596.         move.l    #$100,d2
  597.         move.l    #$40,d3
  598.         lib    Intuition,AutoRequest
  599.         cmp.l    #00,d0
  600.         beq    GetN1.1
  601.         bsr    TestFile
  602. GetN1.1:    bsr    MenusOn
  603.     
  604. GetN2:        move.l    SCCFile(pc),d1
  605.         lib    Dos,Close
  606.         move.l    #$00,SCCFile
  607.  
  608. GetNOut:    bsr    MenusOn
  609.         bra    Window1IDCMP
  610.  
  611. RefreshGad:    move.l    Win1RP(pc),a1        ;clear page
  612.         move.l    #$00,d0
  613.         move.l    _GfxBase,a6
  614.         jsr    _LVOSetAPen(a6)
  615.         move.l    Win1RP(pc),a1
  616.         move.l    #$05,d0
  617.         move.l    #$0b,d1
  618.         add.b    YOffset(pc),d1
  619.         move.l    #298,d2
  620.         move.l    #30,d3
  621.         add.b    YOffset,d3
  622.         jsr    _LVORectFill(a6)
  623.         cmp.w    #$9,Game
  624.         bne    RefreshGad1
  625.         move.l    Win1RP(pc),a0
  626.         lea.l    RRTSpecialTxt(pc),a1
  627.         move.l    #$00,d0
  628.         move.l    #$00,d1
  629.         move.b    YOffset(pc),d1
  630.         lib    Intuition,PrintIText
  631. RefreshGad1:    move.l    Window1(pc),a0
  632.         lea.l    AmountGad1(pc),a1
  633.         move.l    #$00,d0
  634.         lib    Intuition,AddGadget
  635.         lea.l    AmountGad1(pc),a0
  636.         move.l    Window1(pc),a1
  637.         move.l    #$00,a2
  638.         flib    Intuition,RefreshGadgets
  639.         rts
  640.  
  641. FileRequester:    move.l    a5,FRTitle
  642.         move.l    d5,FRFlags
  643.         lea.l    FileRequest1(pc),a0
  644.         lib    Req,FileRequester
  645. FROut:        rts
  646.  
  647. About:        bsr    MenusOff
  648.         move.l    Window1(pc),a0
  649.         lea.l    AboutTxt1(pc),a1
  650.         move.l    #$00,a2        ;positive text
  651.         lea.l    OKTxt(pc),a3    ;a bit the wrong way around but...
  652.         move.l    #$00,d0
  653.         move.l    #$00,d1
  654.         move.l    #$134,d2
  655.         move.l    #$50,d3
  656.         lib    Intuition,AutoRequest
  657.         bsr    MenusOn
  658.         bra    Window1IDCMP
  659.  
  660. Finished:    move.l    Window1(pc),a0
  661.         lea.l    FinitoTxt1(pc),a1
  662.         move.l    #$00,a2        ;positive text
  663.         lea.l    OKTxt(pc),a3    ;a bit the wrong way around but...
  664.         move.l    #$00,d0
  665.         move.l    #$00,d1
  666.         move.l    #$90,d2
  667.         move.l    #$40,d3
  668.         lib    Intuition,AutoRequest
  669.         rts
  670.  
  671. TestFile:    cmp.w    #$00,Game
  672.         beq    TestForCity
  673.         cmp.w    #$01,Game
  674.         beq    TestForPoC
  675.         cmp.w    #$02,Game
  676.         beq    TestForPoC
  677.         cmp.w    #$03,Game
  678.         beq    TestForPoC
  679.         cmp.w    #$04,Game
  680.         beq    TestForPoC
  681.         cmp.w    #$05,Game
  682.         beq    TestForOil
  683.         cmp.w    #$06,Game
  684.         beq    TestForOil
  685.         cmp.w    #$07,Game
  686.         beq    TestForOil
  687.         cmp.w    #$08,Game
  688.         beq    TestForOil
  689.         cmp.w    #$09,Game
  690.         beq    TestForRRT
  691.         rts
  692. TestForCity:    move.l    SCCFile(pc),d1
  693.         move.l    #65,d2
  694.         move.l    #-1,d3
  695.         lib    Dos,Seek
  696.         move.l    SCCFile(pc),d1
  697.         lea.l    FileBuf(pc),a0
  698.         move.l    a0,d2
  699.         move.l    #$04,d3
  700.         flib    Dos,Read
  701.         tst.l    d0
  702.         bne    TestForCity1    
  703.         bsr    FileError
  704.         rts
  705. TestForCity1:    move.l    FileBuf(pc),d0
  706.         cmp.l    #$43495459,d0
  707.         bne    TestForCity2
  708.         bsr    CheatGame
  709.         rts
  710. TestForCity2:    cmp.w    #1,Mode
  711.         beq    TestForCity3
  712.         move.l    Window1(pc),a0
  713.         lea.l    WrongTxt1(pc),a1
  714.         lea.l    OKTxt(pc),a2
  715.         lea.l    CancelTxt(pc),a3
  716.         move.l    #$00,d0
  717.         move.l    #$00,d1
  718.         move.l    #$100,d2
  719.         move.l    #$40,d3
  720.         lib    Intuition,AutoRequest
  721.         cmp.l    #00,d0
  722.         beq    Seek_Out
  723.         bsr    CheatGame
  724.         rts
  725. TestForCity3:    print    <"***Break",13,10,"This is not a SimCity city-file, exiting!",13,10>,_stdout
  726. Seek_Out:    rts    
  727.  
  728. TestForPoC:    move.l    SCCFile(pc),d1
  729.         move.l    #00,d2
  730.         move.l    #-1,d3
  731.         lib    Dos,Seek
  732.         move.l    SCCFile(pc),d1
  733.         lea.l    FileBuf(pc),a0
  734.         move.l    a0,d2
  735.         move.l    #$04,d3
  736.         flib    Dos,Read
  737.         tst.l    d0
  738.         bne    TestForPoC1    
  739.         bsr    FileError
  740.         rts
  741. TestForPoC1:    move.l    FileBuf(pc),d0
  742.         cmp.l    #$52444b20,d0
  743.         bne    TestForCity2
  744.         bsr    CheatGame
  745.         rts
  746.  
  747. TestForOil:    move.l    SCCFile(pc),d1
  748.         move.l    #00,d2
  749.         move.l    #-1,d3
  750.         lib    Dos,Seek
  751.         move.l    SCCFile(pc),d1
  752.         lea.l    FileBuf(pc),a0
  753.         move.l    a0,d2
  754.         move.l    #$0a,d3
  755.         flib    Dos,Read
  756.         tst.l    d0
  757.         bne    TestForOil1    
  758.         bsr    FileError
  759.         rts
  760. TestForOil1:    lea.l    FileBuf(pc),a0
  761.         cmp.l    #"Blac",(a0)
  762.         bne    TestForCity2
  763.         cmp.l    #$6b20476f,4(a0)
  764.         bne    TestForCity2
  765.         cmp.w    #"ld",8(a0)
  766.         bne    TestForCity2
  767.         bsr    CheatGame
  768.         rts
  769.  
  770. TestForRRT:    move.l    SCCFile(pc),d1
  771.         move.l    #13072,d2
  772.         move.l    #-1,d3
  773.         lib    Dos,Seek
  774.         move.l    SCCFile(pc),d1
  775.         lea.l    FileBuf(pc),a0
  776.         move.l    a0,d2
  777.         move.l    #$04,d3
  778.         flib    Dos,Read
  779.         tst.l    d0
  780.         bne    TestForRRT1    
  781.         bsr    FileError
  782.         rts
  783. TestForRRT1:    lea.l    FileBuf(pc),a0
  784.         cmp.l    #$302d342d,(a0)
  785.         bne    TestForCity2
  786.         bsr    CheatGame
  787.         rts
  788.  
  789. CheatGame:    cmp.w    #$00,Game        ;Sim
  790.         beq    CheatCity
  791.         cmp.w    #$01,Game        ;PoC
  792.         bne    CheatGame1
  793.         move.l    #103,d2
  794.         bra    CheatPoC
  795. CheatGame1:    cmp.w    #$02,Game
  796.         bne    CheatGame2
  797.         move.l    #103,d2
  798.         bra    CheatPoC
  799. CheatGame2:    cmp.w    #$03,Game
  800.         bne    CheatGame3
  801.         move.l    #103,d2
  802.         bra    CheatPoC
  803. CheatGame3:    cmp.w    #$04,Game
  804.         bne    CheatGame4
  805.         move.l    #103,d2
  806.         bra    CheatPoC
  807. CheatGame4:    cmp.w    #$05,Game        ;Oil
  808.         bne    CheatGame5
  809.         move.l    #7495,d2
  810.         bra    CheatOil
  811. CheatGame5:    cmp.w    #$06,Game
  812.         bne    CheatGame6
  813.         move.l    #8545,d2
  814.         bra    CheatOil
  815. CheatGame6:    cmp.w    #$07,Game
  816.         bne    CheatGame7
  817.         move.l    #9595,d2
  818.         bra    CheatOil
  819. CheatGame7:    cmp.w    #$08,Game
  820.         bne    CheatGame8
  821.         move.l    #10645,d2
  822.         bra    CheatOil
  823. CheatGame8:    cmp.w    #$09,Game        ;RRT
  824.         bne    CheatGame9
  825.         move.l    #14152,d2
  826.         bra    CheatRRT
  827. CheatGame9:    rts
  828.  
  829.  
  830. CheatCity:    move.l    SCCFile(pc),d1
  831.         move.l    #3108,d2
  832.         move.l    #-1,d3
  833.         lib    Dos,Seek
  834.         move.l    SCCFile(pc),d1
  835.         lea.l    AmountInt(pc),a0
  836.         move.l    a0,d2
  837.         move.l    #$04,d3
  838.         flib    Dos,Write
  839.         cmp.w    #1,Mode
  840.         bne    CheatCity1
  841.         print    <"Your city now has $16, 777 215.",13,10>,_stdout
  842.         rts
  843. CheatCity1:    bsr    Finished
  844.         rts
  845.  
  846. CheatPoC:    move.l    SCCFile(pc),d1
  847.         move.l    #-1,d3
  848.         lib    Dos,Seek
  849.         move.l    SCCFile(pc),d1
  850.         lea.l    AmountInt(pc),a0
  851.         move.l    a0,d2
  852.         move.l    #$04,d3
  853.         flib    Dos,Write
  854.         bsr    Finished
  855.         rts
  856.  
  857. CheatOil:    move.l    SCCFile(pc),d1
  858.         move.l    #-1,d3
  859.         lib    Dos,Seek
  860.         move.l    SCCFile(pc),d1
  861.         lea.l    AmountInt(pc),a0
  862.         move.l    a0,d2
  863.         move.l    #$04,d3
  864.         flib    Dos,Write
  865.         bsr    Finished
  866.         rts
  867.  
  868. CheatRRT:    move.l    SCCFile(pc),d1
  869.         move.l    #-1,d3
  870.         lib    Dos,Seek
  871.         move.l    SCCFile(pc),d1
  872.         move.l    AmountInt(pc),d2
  873.         swap    d2
  874.         move.l    d2,AmountInt
  875.         lea.l    AmountInt(pc),a0
  876.         move.l    a0,d2
  877.         move.l    #$02,d3
  878.         flib    Dos,Write
  879.         bsr    Finished
  880.         rts
  881.  
  882. DOSCheat:    bsr    TestFile
  883.         bra    ShutDown
  884.  
  885. NoReq:        print    <"You need req.library v2.5 or higher!",13,10>,_stdout
  886.         bra    ShutDown
  887. NoInt:        print    <"Can't open intuition.library!",13,10>,_stdout
  888.         bra    ShutDown
  889. NoGfx:        print    <"Can't open graphics.library!",13,10>,_stdout
  890.         bra    ShutDown
  891. NoWin:        print    <"Can't open Window!",13,10>,_stdout
  892.         bra    ShutDown
  893. NoPub:        print    <"Can't lock PubScreen!",13,10>,_stdout
  894.         bra    ShutDown
  895.  
  896. ShutDown:    tst.l    PubScreen
  897.         beq    ShutDown9000
  898.         move.l    #$00,a0
  899.         move.l    PubScreen(pc),a1
  900.         lib    Intuition,UnlockPubScreen
  901.         move.l    #$00,PubScreen
  902.  
  903. ShutDown9000:    tst.l    SCCFile
  904.         beq    ShutDown8000
  905.         move.l    SCCFile(pc),d1
  906.         lib    Dos,Close
  907.         move.l    #$00,SCCFile
  908. ShutDown8000:    tst.l    NILFile
  909.         beq    ShutDown6000
  910.         move.l    NILFile(pc),d1
  911.         lib    Dos,Close
  912.         move.l    #$00,NILFile
  913. ShutDown6000:    tst.l    HWin1
  914.         beq    ShutDown5000
  915.         move.l    HWin1(pc),a0
  916.         bsr    ClearMSGs
  917.         move.l    #$00,HWin1
  918. ShutDown5000:    tst.l    Window1
  919.         beq    ShutDown4000
  920.         move.l    Window1(pc),a0
  921.         lib    Intuition,ClearMenuStrip
  922.         move.l    Window1(pc),a0
  923.         bsr    ClearMSGs
  924.         move.l    #$00,Window1
  925.         
  926. ShutDown4000:
  927. ShutDown3000:    tst.l    _ReqBase
  928.         beq    ShutDown2001
  929.         lea.l    FileRequest1(pc),a0
  930.         lib    Req,PurgeFiles
  931.  
  932. ;Check if launched from WB
  933.  
  934. ShutDown2001:    move.l    SCCTask,a4
  935.         move.l    pr_CLI(a4),d0
  936.         beq    ShutDownWB
  937.  
  938. ShutDown2000:    closlib    Dos
  939.         closlib    Req
  940.         closlib    Intuition
  941.         closlib    Gfx
  942.  
  943. ShutDownOut:    move.l    #RETURN_OK,d0
  944.         rts
  945.  
  946. ShutDownWB:    move.l    SCCTask(pc),a4            ;WAZ IZ FOR?
  947.         lib    Exec,Forbid
  948.         move.l    WBMsg(pc),a1
  949.         flib    Exec,ReplyMsg
  950.         move.l    OldLock(pc),d1
  951.         lib    Dos,CurrentDir
  952.         bra    ShutDown2000
  953.  
  954.         INCLUDE    "LWF:SimCC/DosError.i"
  955.         INCLUDE    "LWF:SimCC/SCCCommandLineHelp.i"
  956.     
  957. MenusOn:    lea.l    Menu1(pc),a1
  958.         move.l    Window1(pc),a0
  959.         lib    Intuition,SetMenuStrip
  960.         rts
  961.  
  962. MenusOff:    move.l    Window1(pc),a0
  963.         lib    Intuition,ClearMenuStrip
  964.         rts
  965.  
  966. MenuNull:    move.l    d3,d6    
  967.                 
  968.         ror.l    #5,d6    
  969.         lsr.l    #8,d6    
  970.         lsr.l    #8,d6
  971.         lsr.l    #8,d6
  972.         lsr.l    #3,d6
  973.  
  974.         move.l    d3,d5
  975.  
  976.         ror.l    #5,d5    
  977.         ror.l    #6,d5    
  978.         lsr.l    #8,d5
  979.         lsr.l    #8,d5
  980.         lsr.l    #8,d5
  981.         lsr.l    #2,d5
  982.                 
  983.         move.l    #$00,d4
  984.         move.w    d3,d4
  985.         lsr.l    #5,d4
  986.         lsr.l    #6,d4
  987.         rts
  988.  
  989. CheckIDCMP:    move.l    $4,a6            ;made this a SubRoutine...
  990.         move.l    $56(a0),a2        ;Give it the window structure in a0
  991.         move.l    #0,d1
  992.         move.b    $0f(a2),d1
  993.         move.l    #0,d0
  994.         bset.l    d1,d0
  995.         jsr    _LVOWait(a6)    
  996.     
  997. GetMsg1:    move.l    a2,a0    
  998.         jsr    _LVOGetMsg(a6)
  999.         tst.l    d0
  1000.         beq    GetMsg2
  1001.     
  1002.         move.l    d0,a1 
  1003.         move.l    $14(a1),d2        ;answers with Class in d2,
  1004.         move.w    $18(a1),d3        ;Code in d3 and
  1005.         move.w    $1a(a1),a4        ;Qualifier in a4
  1006.         move.l    $1c(a1),a5        ;IAddress in a5
  1007.         jsr    _LVOReplyMsg(a6)
  1008.         bra    GetMsg1
  1009. GetMsg2:    move.l    #-1,d0
  1010.         rts
  1011.  
  1012. ClearMSGs:    move.l    a0,d0            ;Give it the window structure in a0
  1013.         tst.l    d0
  1014.         beq    ClearMsg3
  1015.         move.l    a0,a3
  1016.         lib    Exec,Forbid
  1017.         move.l    $56(a3),a2
  1018. ClearMsg1:    move.l    a2,a0    
  1019.         lib    Exec,GetMsg
  1020.         tst.l    d0
  1021.         beq    ClearMsg2
  1022.         move.l    d0,a1 
  1023.         flib    Exec,ReplyMsg
  1024.         bra    ClearMsg1
  1025. ClearMsg2:    move.l    a3,a0
  1026.         lib    Intuition,CloseWindow
  1027.         lib    Exec,Permit
  1028. ClearMsg3:    rts
  1029.  
  1030.         ds.l    0
  1031.  
  1032. ;--------------------Structures------------------
  1033.  
  1034. ;Display stuff
  1035.  
  1036. Window1        dc.l    0
  1037. Win1RP        dc.l    0
  1038. PubScreen    dc.l    0
  1039. YOffset        dc.b    8,0
  1040.  
  1041. ;Library stuff (well what's needed anymore)
  1042.  
  1043.         libnames
  1044.  
  1045. ;Task stuff
  1046.  
  1047. SCCTask        dc.l    0
  1048.  
  1049. ;WB Stuff
  1050.  
  1051. WBMsg        dc.l    0
  1052. ArgList        dc.l    0
  1053. ArgsLeft    dc.l    0
  1054. OldLock        dc.l    0
  1055.  
  1056. ;File stuff
  1057.  
  1058. _stdout        dc.l    0
  1059. SCCAddress    dc.l    0
  1060. SCCLength    dc.l    0
  1061. SCCFile        dc.l    0
  1062. FileBuf        dc.l    $ffffffff
  1063. NILName:    dc.b    "NIL:",0
  1064.         ds.l    0
  1065. NILFile:    dc.l    0
  1066.  
  1067. ;req.lib stuff/requester stuff
  1068.  
  1069.         INCLUDE    "LWF:SimCC/SCCFileRequester.i"
  1070.  
  1071. ;Other stuff XIV
  1072.  
  1073. Mode        dc.w    0        ;0=Intuition, 1=dos
  1074. Kick        dc.w    0        ;0=1.3, 1=2.0+
  1075.  
  1076. ;0 = SimCity
  1077. ;
  1078. ;1 = PoC Player #1
  1079. ;2 = PoC Player #2
  1080. ;3 = PoC Player #3
  1081. ;4 = PoC Player #4
  1082. ;
  1083. ;5 = Oil Player #1
  1084. ;6 = Oil Player #2
  1085. ;7 = Oil Player #3
  1086. ;8 = Oil Player #4
  1087. ;9 = RailRoad Tycoon
  1088.  
  1089. Game        dc.w    0
  1090.  
  1091. ;Texts, Part I
  1092.  
  1093. SCCName        dc.b    "SimCity 1.1 cheat by Tomi Blinnikka",0
  1094. PoCName        dc.b    "Ports of Call cheat by Tomi Blinnikka",0
  1095. GetSimName    dc.b    "Get SimCity city filename...",0
  1096. GetPoCName    dc.b    "Get Ports of Call game filename...",0
  1097. GetOilName    dc.b    "Get Oil Imperium game filename...",0
  1098. GetRRTName    dc.b    "Get RailRoad Tycoon game filename...",0
  1099. PositiveText1    dc.b    "Yes",0
  1100. NegativeText1    dc.b    "No",0
  1101.         ds.l    0
  1102.  
  1103. ;Font thing
  1104.  
  1105. Topaz        dc.l    FontName
  1106.         dc.w    8
  1107.         dc.b    0
  1108.         dc.b    0
  1109. FontName    dc.b    "topaz.font",0
  1110.         ds.l    0
  1111.  
  1112. ;New screen & new window structures
  1113.  
  1114. NewWindow1    dc.w    200,31            ;X,Y POS
  1115.         dc.w    302            ;WIDTH
  1116. Win1YSize    dc.w    43            ;HEIGHT
  1117.         dc.b    0,1            ;PENS
  1118.         dc.l    MOUSEBUTTONS+CLOSEWINDOW+VANILLAKEY+RAWKEY+MENUPICK    ;IDCMP FLAGS
  1119.         dc.l    WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE    ;FLAGS
  1120.         dc.l    0,0            ;GADGETS, CHECKMARK
  1121.         dc.l    WindowTitle1        ;TITLE
  1122.         dc.l    0            ;SCREEN ADDRESS
  1123.         dc.l    0            ;BITMAP            
  1124.         dc.w    192
  1125.         dc.w    11,300,43        ;MINIMUM SIZE
  1126.         dc.w    WBENCHSCREEN        ;TYPE
  1127.  
  1128. Win1TagList    dc.l    WA_AutoAdjust,0
  1129.         dc.l    WA_InnerWidth,300
  1130.         dc.l    WA_InnerHeight,30
  1131.         dc.l    WA_Zoom,Win1ZoomXY
  1132.         dc.l    TAG_DONE,0
  1133.  
  1134. Win1ZoomXY    dc.w    0,20,192
  1135. Win1ZoomY    dc.w    11
  1136.  
  1137. WindowTitle1    dc.b    "SimCity cheat",0
  1138. WindowTitle2    dc.b    "Ports of Call cheat",0
  1139. WindowTitle3    dc.b    "Oil Imperium cheat",0
  1140. WindowTitle4    dc.b    "RailRoad Tycoon cheat",0
  1141.         ds.l    0
  1142.  
  1143. ;Gadget structures
  1144.  
  1145.         INCLUDE "LWF:SimCC/SCCGads.i"
  1146.         
  1147. ;Now for all the imagery and borders etc.
  1148.  
  1149. GadgetBorder1    dc.w    -1        ;Initial offsets from the origin
  1150.         dc.w    -2        ;LeftEdge and TopEdge
  1151.         dc.b    1,2        ;Pens
  1152.         dc.b    1        ;Draw Mode
  1153.         dc.b    5        ;Line Count (XY)
  1154.         dc.l    BorderXY1    ;XY's
  1155.         dc.l    0        ;Next Border
  1156.         dc.b    0
  1157.         ds.l    0
  1158. BorderXY1    dc.w    0,0
  1159.         dc.w    90,0        
  1160.         dc.w    90,11
  1161.         dc.w    0,11
  1162.         dc.w    0,0
  1163.         dc.b    0
  1164.         ds.l    0
  1165.  
  1166. ;Menus
  1167.  
  1168.         INCLUDE    "LWF:SimCC/SCCMenus.i"
  1169.  
  1170. ;Texts, Part II
  1171.  
  1172. AboutTxt1:    dc.b    3,1            ;PENS
  1173.         dc.w    0            ;MODE
  1174.         dc.w    10,10            ;LEFT+TOPEDGE
  1175.         dc.l    Topaz            ;FONT
  1176.         dc.l    AboutText1        ;TEXT
  1177.         dc.l    AboutTxt2        ;NEXTTEXT
  1178.         ds.l    0
  1179.         
  1180. AboutTxt2:    dc.b    3,1            ;PENS
  1181.         dc.w    4            ;MODE
  1182.         dc.w    10,20            ;LEFT+TOPEDGE
  1183.         dc.l    Topaz            ;FONT
  1184.         dc.l    AboutText2        ;TEXT
  1185.         dc.l    AboutTxt3        ;NEXTTEXT
  1186.         ds.l    0
  1187.  
  1188. AboutTxt3:    dc.b    3,1            ;PENS
  1189.         dc.w    4            ;MODE
  1190.         dc.w    10,30            ;LEFT+TOPEDGE
  1191.         dc.l    Topaz            ;FONT
  1192.         dc.l    AboutText3        ;TEXT
  1193.         dc.l    AboutTxt4        ;NEXTTEXT
  1194.         ds.l    0
  1195.  
  1196. AboutTxt4:    dc.b    3,1            ;PENS
  1197.         dc.w    4            ;MODE
  1198.         dc.w    10,50            ;LEFT+TOPEDGE
  1199.         dc.l    Topaz            ;FONT
  1200.         dc.l    AboutText4        ;TEXT
  1201.         dc.l    0            ;NEXTTEXT
  1202.         ds.l    0
  1203.  
  1204.         dc.b    "$VER: SimCheat 1.07, (C)opyright Tomi Blinnikka.",0
  1205. AboutText1:    dc.b    "SimCity 1.1 cheat program v1.07",0
  1206. AboutText2:    dc.b    "               by",0
  1207. AboutText3:    dc.b    "         Tomi Blinnikka",0
  1208. AboutText4:    dc.b    "        (C)opyright 1991-92",0
  1209.         ds.l    0
  1210.  
  1211. FinitoTxt1:    dc.b    3,1            ;PENS
  1212.         dc.w    4            ;MODE
  1213.         dc.w    10,20            ;LEFT+TOPEDGE
  1214.         dc.l    Topaz            ;FONT
  1215.         dc.l    FinitoText1        ;TEXT
  1216.         dc.l    0            ;NEXTTEXT
  1217.         ds.l    0
  1218. FinitoText1:    dc.b    "Finished.",0
  1219.         ds.l    0
  1220.  
  1221. OKTxt:        dc.b    3,1            ;PENS
  1222.         dc.w    0            ;MODE
  1223.         dc.w    6,3            ;LEFT+TOPEDGE
  1224.         dc.l    Topaz            ;FONT
  1225.         dc.l    OKText1            ;TEXT
  1226.         dc.l    0            ;NEXTTEXT
  1227.         ds.l    0
  1228. OKText1:    dc.b    "OK",0
  1229.         ds.l    0
  1230. CancelTxt:    dc.b    3,1            ;PENS
  1231.         dc.w    0            ;MODE
  1232.         dc.w    6,3            ;LEFT+TOPEDGE
  1233.         dc.l    Topaz            ;FONT
  1234.         dc.l    CancelText1        ;TEXT
  1235.         dc.l    0            ;NEXTTEXT
  1236.         ds.l    0
  1237. CancelText1:    dc.b    "CANCEL!",0
  1238.         ds.l    0
  1239.  
  1240. Cheat?Txt:    dc.b    3,1            ;PENS
  1241.         dc.w    4            ;MODE
  1242.         dc.w    10,10            ;LEFT+TOPEDGE
  1243.         dc.l    Topaz            ;FONT
  1244.         dc.l    CheatText1        ;TEXT
  1245.         dc.l    0            ;NEXTTEXT
  1246.         ds.l    0
  1247.  
  1248. CheatText1:    dc.b    "Cheat on this file?",0
  1249.         ds.l    0                          
  1250.  
  1251. WrongTxt1:    dc.b    3,1            ;PENS
  1252.         dc.w    4            ;MODE
  1253.         dc.w    10,10            ;LEFT+TOPEDGE
  1254.         dc.l    Topaz            ;FONT
  1255.         dc.l    FWrongText1        ;TEXT
  1256.         dc.l    0            ;NEXTTEXT
  1257.         ds.l    0
  1258.  
  1259. FWrongText1:    dc.b    "Incorrect file! Try anyway?",0
  1260.         ds.l    0
  1261.  
  1262. Win1Txt1:    dc.b    1,2            ;PENS
  1263.         dc.w    0            ;MODE
  1264.         dc.w    -16,-18            ;LEFT+TOPEDGE
  1265.         dc.l    Topaz            ;FONT
  1266.         dc.l    Win1Text1        ;TEXT
  1267.         dc.l    0            ;NEXTTEXT
  1268.         ds.l    0
  1269. Win1Text1:    dc.b    "Amount of money?",0
  1270.         ds.l    0
  1271.  
  1272. RRTSpecialTxt:    dc.b    1,2            ;PENS
  1273.         dc.w    0            ;MODE
  1274.         dc.w    205,21            ;LEFT+TOPEDGE
  1275.         dc.l    Topaz            ;FONT
  1276.         dc.l    RRTSText1        ;TEXT
  1277.         dc.l    0            ;NEXTTEXT
  1278.         ds.l    0
  1279. RRTSText1:    dc.b    "000",0
  1280.         ds.l    0
  1281.  
  1282. ;        section    SCC_ChipStuff,DATA,CHIP
  1283.  
  1284.         END
  1285.